JID
XMPP identifiers (JID) for JavaScript
JID type | local | @ | domain | / | resource | usage |
---|
domain | | | wonderland.net | | | servers and components |
bare | alice | @ | wonderland.net | | | users |
full | alice | @ | wonderland.net | / | rabbithole | user resource (device) |
https://en.wikipedia.org/wiki/XMPP#Decentralization_and_addressing
Install
npm install @xmpp/jid
Usage
var jid = require("@xmpp/jid");
var addr = jid("alice@wonderland.net/rabbithole");
var addr = jid("alice", "wonderland.net", "rabbithole");
addr instanceof jid.JID;
var addr = jid("wonderland.net");
addr.local = "alice";
addr.local;
addr.setLocal("alice");
addr.getLocal();
addr.domain = "wonderland.net";
addr.domain;
addr.setDomain("wonderland.net");
addr.getDomain();
addr.resource = "rabbithole";
addr.resource;
addr.setResource("rabbithole");
addr.getResource();
addr.toString();
addr.bare();
addr.equals(some_jid);
jid.equal(addr, some_jid);
Escaping
The XEP-0106 defines a method to escape and unescape characters that aren't allowed in the local part of the JID. This library fully implement it.
const addr = jid("contact@example.net", "xmpp.net");
addr.toString();
addr.toString(true);
For user input, use
jid("contact@example.net", "xmpp.net");
jid("contact@example.net@xmpp.net");
References
Deprecated